CloudFront DistributionでAPI Gatewayを作成してみた。
概要
API Gatewayの前にCloudFront Distribution を使用することで、APIGatewayのパフォーマンスを向上させることができます。API Gatewayのエッジ最適化 API エンドポイントを使用すると、最寄りのCloudFront Point of PresenceでAPI呼び出しを終了できます。
API Gatewayの前でCloudFront Distributionを使用する理由 :
- レイテンシーを削減
- セキュリティを強化する
- キャッシング動作を制御する
- APIのTLS設定を制御する。
この記事では、Rest APIの前でCloudFront Distributionを作成してみました。
やってみた
REST APIの作成
- API GatewayコンソールのREST APIペインで、Buildを選択しておきます。
- New API を選択して、API名を入力して、Endpoint typeで regionalを選択して、Create APIをクリックしておきます。
APIのGETメソッドの作成
- Actionsで、Create Methodを選択して、GETを選択して、チェックマークをオンにしておきます。
- Integration typeでMockを選択して、Methodを作成しておきます。モック統合は到達したすべての要求に応答することができます。
APIのデプロイとテストする
- Actionsで、Deploy APIを選択しておきます。
- New Stageを選択して、ステージ名を入力して、Deployをクリックしておきます。
- curlコマンドを使用してAPIをテストできます。テストするために、APIのinvokeurlでcurlコマンドを使用します。
# curl -IX GET Invoke-URL curl -IX GET https://API-Id.execute-api.us-east-1.amazonaws.com/stage-name
CloudFront Distributionの作成
- 次の設定でCloudFront Distributionを作成しておきます。
- Origin domain :ステージ名のないInvoke URL
- Protocol : HTTPS only
- SSL protocol : TLSv1.2
- Origin path : ステージ名
CloudFront Distributionをテストする
- curlコマンドを使用してCloudFront Distribution をテストできます。
- テストするために、ディストリビューションドメイン名でcurlコマンドを使用します。
- 200 Responseは、API Gatewayが正しく構成されていることを示します。
curl -IX GET https://0000000.cloudfront.net
まとめ
CloudFront DistributionでAPI Gatewayを作成してみました。CloudFrontディストリビューションの作成中にキャッシュ設定を構成することもできます。
Reference : API Gateway with CloudFront Distribution